package cn.exrick.xboot.modules.bicmktbiddinginfo.mapper;

import cn.exrick.xboot.modules.biddataproject.entity.SelectData;
import cn.exrick.xboot.modules.bicmktbiddinginfo.entity.*;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 招投标信息数据处理层
 * @author sdtf
 */

public interface BicMktBiddingInfoMapper extends BaseMapper<BicMktBiddingInfo> {

    /**
     * 最新中标项目
     */
    List<SelectData> selectNewBid();

    /**
     * 在投重大项目
     */
    List<SelectData> selectisBidding();

    /**
     * 本年投标数
     */
    SelectData selectBidNumber0();

    /**
     * 本年中标数
     */
    SelectData selectBidNumber1();

    /**
     * 中标排行
     */
    List<SelectData> selectBidInfo();
    /**
     * 本月投标数
     */
    SelectData selectBidNumber0ByMonth();
    /**
     * 本月中标数
     */
    SelectData selectBidNumber1ByMonth();
    /**
     * 正在中标数
     */
    SelectData selectBidding();
    /**
     * 本月中标排行
     */
    List<SelectData> BidInfoByMonth();

    /**
     * 二级菜单：最新中标项目详情本年
     */
    List<BidInfo> NewBidInformation(@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);
    /**
     * 二级菜单：最新中标项目详情本年
     */
    List<BidInfo> NewBidInformation1();
    /**
     * 二级菜单：最新中标项目详情本月
     */
    List<BidInfo> NewBidInformationByMonth();
    /**
     * 二级菜单：最新中标项目详情本月
     */
    List<BidInfo> NewBidInformationByMonth1(@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);


    /**
     * 二级菜单：再投重大项目详情本年
     */
    List<BidInfo> isBiddingInformation();
    /**
     * 二级菜单：再投重大项目详情本年
     */
    List<BidInfo> isBiddingInformation1(@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);
    /**
     * 二级菜单：再投重大项目详情本月
     */
    List<BidInfo> isBiddingInformationByMonth();
    /**
     * 二级菜单：再投重大项目详情自定义查询
     */
    List<BidInfo> isBiddingInformationByDate(@Param("startDate") String startDate, @Param("endDate") String endDate);


    /**
     * 二级菜单：查询所有单位
     */
    List<BidAndBidBack> selectdept();

    /**
     * 二级菜单：投标中标数量金额详情
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoney();

    /**
     * 二级菜单：投标中标数量金额详情省内
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyInProvince();
    /**
     * 二级菜单：投标中标数量金额详情省外
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvince();

    /**
     * 二级菜单：中标数量金额详情
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoney1();
    /**
     * 二级菜单：中标数量金额详情省内
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyInProvince1();
    /**
     * 二级菜单：中标数量金额详情省外
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvince1();




    /**
     * 二级菜单：投标中标数量金额详情本月
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyByMonth();
    /**
     * 二级菜单：投标中标数量金额详情省内本月
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyInProvinceByMonth();
    /**
     * 二级菜单：投标中标数量金额详情本月省外
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvinceByMonth();

    /**
     * 二级菜单：中标数量金额本月
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoney1ByMonth();
    /**
     * 二级菜单：中标数量金额详情本月省内
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyInProvince1ByMonth();
    /**
     * 二级菜单：中标数量金额详情本月省外
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvince1ByMonth();


    /**
     * 二级菜单：获取所有单位名称
     */
    List<IsBiddingInfo> getdept();
    /**
     * 二级菜单：正在投标数量金额详情本年
     */
    List<IsBiddingInfo> isBiddingNumAndMoney();
    /**
     * 二级菜单：正在投标数量金额详情本年省内
     */
    List<IsBiddingInfo> isBiddingNumAndMoneyInProVince();
    /**
     * 二级菜单：正在投标数量金额详情本年省内
     */
    List<IsBiddingInfo> isBiddingNumAndMoneyOutProVince();



    /**
     * 二级菜单：中标数量金额详情本月
     */
    List<IsBiddingInfo> isBiddingNumAndMoneyByMonth();
    /**
     * 二级菜单：中标数量金额详情本月省内
     */
    List<IsBiddingInfo> isBiddingNumAndMoneyInProVinceByMonth();
    /**
     * 二级菜单：中标数量金额详情本月省内
     */
    List<IsBiddingInfo> isBiddingNumAndMoneyOutProVinceByMonth();




    /**
     * 三级菜单：获取各部门投标详细信息本年
     */
    List<BidInfo> getDeptInfoByYear(@Param("deptName")String deptName);
    /**
     * 三级菜单：判断是否中标
     */
    boolean isbidback(@Param("biddingId")String biddingId);
    /**
     * 三级菜单：获取各部门投标详细信息本年
     */
    List<BidInfo> getDeptInfoByYear1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);

    /**
     * 三级菜单：获取各部门投标详细信息本月
     */
    List<BidInfo> getDeptInfoByMonth(@Param("deptName")String deptName);
    /**
     * 三级菜单：获取各部门投标详细信息本月
     */
    List<BidInfo> getDeptInfoByMonth1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);

    /**
     * 三级菜单：获取各部门中标详细信息本年
     */
    List<BidInfo> getDeptBidBackInfo(@Param("deptName")String deptName);
    /**
     * 三级菜单：获取各部门中标详细信息本年
     */
    List<BidInfo> getDeptBidBackInfo1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);
    /**
     * 三级菜单：获取各部门中标详细信息本月
     */
    List<BidInfo> getDeptBidBackInfoByMonth(@Param("deptName")String deptName);
    /**
     * 三级菜单：获取各部门中标详细信息本月
     */
    List<BidInfo> getDeptBidBackInfoByMonth1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);
    /**
     * 三级菜单：获取各部门合同详细信息本年
     */
    List<DeptInfo> getDeptContractInfo(@Param("deptName")String deptName);
    /**
     * 三级菜单：获取各部门合同详细信息本年
     */
    List<DeptInfo> getDeptContractInfo1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);

    /**
     * 三级菜单：获取各部门合同详细信息本月
     */
    List<DeptInfo> getDeptContractInfoByMonth(@Param("deptName")String deptName);
    /**
     * 三级菜单：获取各部门合同详细信息本月
     */
    List<DeptInfo> getDeptContractInfoByMonth1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);
    /**
     * 三级菜单：获取各部门在投重大项目详细信息本年
     */
    List<BidInfo> getDeptIsBiddingInfo(@Param("deptName")String deptName);

    /**
     * 三级菜单：获取各部门在投重大项目详细信息本年
     */
    List<BidInfo> getDeptIsBiddingInfo1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);
    /**
     * 三级菜单：获取各部门在投重大项目详细信息本月
     */
    List<BidInfo> getDeptIsBiddingInfoByMonth(@Param("deptName")String deptName);
    /**
     * 三级菜单：获取各部门在投重大项目详细信息本月
     */
    List<BidInfo> getDeptIsBiddingInfoByMonth1(@Param("deptName")String deptName,@Param("pageNumber")int pageNumber,@Param("pageSize")int pageSize);



    boolean selectIsBidBack(@Param("biddingId") String biddingId);

    List<String> getbiddingid();

    List<BicMktBiddingInfo> getBidBackTime();

    //新加
    /**
     * 中标数量金额详情省外
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvince1AndArea();
    /**
     * 投标数量金额详情省外
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvinceAndArea();

    //新加
    BidAndBidBack getDataByDeptNameAndProvince(@Param("s1") String s1,@Param("s2") String s2);

    String[] getProvince();
    String[] getDeptName();

    BidAndBidBack getDataByDeptNameAndProvinceM(@Param("s1") String s1,@Param("s2") String s2);

    String[] getProvinceM();
    String[] getDeptNameM();

    List<BidAndBidBack> BidAndBidBackNumberAndMoneyByNian(@Param("v")String v);

    List<BidAndBidBack> BidAndBidBackNumberAndMoneyInProvinceByNian(@Param("v") String v);

    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvinceByNian(@Param("v") String v);

    List<BidAndBidBack> BidAndBidBackNumberAndMoneyInProvince1ByNian(@Param("v") String v);

    List<BidAndBidBack> BidAndBidBackNumberAndMoneyOutProvince1ByNian(@Param("v") String v);

    String[] getAllDeptName();

}